package com.lemon.boot.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author 李猛
 * @datetime 2024/5/15 18:58
 * @description 类对象
 */
@Getter
@Setter
@Accessors(chain = true)
@ApiModel(value = "菜单资源视图对象-树形数据")
public class TenantMenuResourceVO {
    //租户菜单ID
    @ApiModelProperty(value = "租户菜单ID")
    private Long id;

    //菜单ID
    @ApiModelProperty(value = "菜单ID")
    private Long menuId;

    //父ID
    @ApiModelProperty(value = "父ID")
    private Long parentId;

    //菜单名称
    @ApiModelProperty(value = "菜单名称")
    private String name;

    //菜单路径
    @ApiModelProperty(value = "菜单路径")
    private String path;

    //图标地址
    @ApiModelProperty(value = "图标地址")
    private String icon;

    //树形菜单ID链
    @ApiModelProperty(value = "树形菜单ID链")
    private String treeLinkId;

    //是否选择
    @ApiModelProperty(value = "是否选择")
    private boolean selected;

    //子菜单集合
    @ApiModelProperty(value = "子菜单集合")
    private List<TenantMenuResourceVO> children = new ArrayList<>();

    //所有的资源集合
    @ApiModelProperty(value = "所有的资源集合")
    private Map<Long, String> allResourceList = new HashMap<>();

    //存在的资源集合
    @ApiModelProperty(value = "存在的资源集合")
    private List<Long> selectResourceList = new ArrayList<>();
}
